// pages/my/my.js
const app = getApp()
// import TIM from '../../utils/im/tim-wx';
// import COS from '../../utils/im/cos-wx-sdk-v5';
// let options = {
//   SDKAppID: 1400411226 // 接入时需要将0替换为您的即时通信应用的 SDKAppID
// };
// let tim = TIM.create(options); // SDK 实例通常用 tim 表示
// // 设置 SDK 日志输出级别，详细分级请参见 setLogLevel 接口的说明
// // tim.setLogLevel(0); // 普通级别，日志量较多，接入时建议使用
// tim.setLogLevel(1); // release级别，SDK 输出关键信息，生产环境时建议使用
var tim = app.imInit.tim
var TIM = app.imInit.TIM

Page({
  /** 助力免费拿会员 */
  getvip() {
    // 判断登陆
    var token = wx.getStorageSync('token')
    var userId = wx.getStorageSync('userId')

    if (!!token && !!userId) {
      wx.navigateTo({
        // url: '/pages/bargain/bargain'
        url: '/pages/bargain/myBargain'

      })
    } else {
      app.error("请先登陆!")
      setTimeout(() => {
        wx.navigateTo({
          url: '/pages/index/index'
        })
      }, 1000)
    }

  },
  /**
   * 页面的初始数据
   */
  data: {
    backgroundColor: null,
    info: null,
    text: 0, //角标
  },
  //去设置基本信息
  toBaseInfo() {
    wx.navigateTo({
      url: '/pages/my/setUserInfo/setUserInfo',
    })
  },

  // 测房间
  toTest() {
    wx.navigateTo({
      url: '/pages/room/room',
    })
  },



  // togameOrderList  去游戏记录
  togameOrderList() {
    wx.navigateTo({
      url: '/pages/game/gameOrderList/gameOrderList',
    })
  },
  //去消息中心
  toMessage() {
    wx.navigateTo({
      url: '/pages/message/message',
    })
  },


  // 去授权申明 
  torealNameContent() {
    wx.navigateTo({
      url: '/pages/game/realNameContent/realNameContent',
    })
  },

  // 我的技能
  tomySkills() {
    wx.navigateTo({
      url: '/pages/game/mySkills/mySkills',
    })
  },


  // 陪练记录
  togameRecord() {
    wx.navigateTo({
      url: '/pages/game/gameRecord/gameRecord',
    })
  },






  // 个人中心页面，获取个人数据
  getInfo() {
    console.log('获取个人数据111')
    var postObj = {
      url: '/user/info/get',
      // url: '/user/photo/getAll',
      method: 'POST',
      data: {
        token: wx.getStorageSync('token'),
        userId: wx.getStorageSync('userId'),
        // telephone: ''
      }
    }
    app.request.noLoginRequest(postObj).then(res => {
      console.log('获取个人数据', res)
      // console.log(res.data.data)
      this.setData({
        info: res.data.data
      })
    }).catch(err => {
      // console.log('获取个人数据', err)
    })
  },
  // 监听新消息
  watchMessage() {
    let that = this
    var watchMessageName = function (event) {
      // 收到推送的单聊、群聊、群提示、群系统通知的新消息，可通过遍历 event.data 获取消息列表数据并渲染到页面
      // event.name - TIM.EVENT.MESSAGE_RECEIVED
      // event.data - 存储 Message 对象的数组 - [Message]
      // console.log('22222222222222222');
      that.getConversationList()
    }
    tim.on(TIM.EVENT.MESSAGE_RECEIVED, watchMessageName);
  },
  onSdkReady() {
    let onSdkReady = function (event) {
      this.getConversationList()
      console.log('onSdkReady');

    };
    tim.on(TIM.EVENT.SDK_READY, onSdkReady);
  },

  getConversationList() {
    let that = this
    // 拉取会话列表
    //   获取会话列表的接口，该接口会尝试同步最新的100条会话，在同步完成后返回 SDK 内部维护的会话列表。 调用时机：需要刷新会话列表时
    // 注意1：该接口获取的会话列表中的资料是不完整的（仅包括头像、昵称等，能够满足会话列表的渲染需求），若要查询详细会话资料，可参考：getConversationProfile 
    // 注意2：会话保存时长跟会话最后一条消息保存时间一致，消息默认保存7天，即会话默认保存7天。
    let promise = tim.getConversationList();
    promise.then(function (imResponse) {
      const conversationList = imResponse.data.conversationList; // 会话列表，用该列表覆盖原有的会话列表
      // console.log('拉取会话列表', conversationList);
      var text = 0
      conversationList.forEach((items, i) => {
        text = items.unreadCount + text
      })

      let pages = getCurrentPages();
      let currPage = null;
      // console.log(pages) 的到一个数组
      if (pages.length) {
        // 获取当前页面的对象（上边所获得的数组中最后一项就是当前页面的对象）
        currPage = pages[pages.length - 1];
      }
      // 获取当前页面的路由
      let route = currPage.route
      // console.log('获取当前页面的路由', route)

      if (['pages/videoIndex/videoIndex', 'pages/chatRoom/chatRoom', 'pages/game/gameIndex/gameIndex', 'pages/my/my'].includes(route)) {
        wx.setTabBarBadge({
          index: 1,
          text: text.toString()
        })
      }


      // console.log('text', text);

      that.setData({
        text: text
      })

    }).catch(function (imError) {
      console.warn('getConversationList error:', imError); // 获取会话列表失败的相关信息
    });
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // this.getInfo()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

    if (!!wx.getStorageSync('token') && !!wx.getStorageSync('userId')) {
      app.imInit.imLogin()
      this.watchMessage()
      this.onSdkReady()
      setTimeout(() => {
        this.getConversationList()
      }, 2000)
      // this.getConversationList()

    }
    console.log('app.imInit.isImLogin', app.imInit.isImLogin);


    app.util.checkLogin().then(() => {
      this.getInfo()
    }).catch(() => {
      wx.navigateTo({
        url: '/pages/index/index',
      })
    })



    var color = app.util.getColor()
    wx.setNavigationBarColor({
      frontColor: '#000000', // 必写项
      backgroundColor: color, // 必写项
    })
    this.setData({
      backgroundColor: color
    })


  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    app.imInit.onMessageReceived()
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})